/*给定两个字符串 s 和 t，它们只包含小写字母。字符串 t 由字符串 s 随机重排，然后在随机位置添加一个字母。
* 请找出在 t 中被添加的字母。
*
* 输入：s = "abcd", t = "abcde"
* 输出："e"
* 解释：'e' 是那个被添加的字母。
*
* */

package newcoder.HashTable_3;

import java.util.HashMap;
import java.util.Map;

public class Leetcode389 {

    public static void main(String[] args) {

        Leetcode389 obj = new Leetcode389();
        String s = "a";
        String t = "aa";
        System.out.println(obj.findTheDifference(s, t));
    }

    public char findTheDifference(String s, String t){

        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0;i < s.length();i++){
            map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
        }

        for (int j = 0;j < t.length();j++){
            map.put(t.charAt(j), map.getOrDefault(t.charAt(j), 0) + 1);
        }

        for (Map.Entry<Character, Integer> entry : map.entrySet()){
            if (entry.getValue() % 2 == 1){
                return entry.getKey();
            }
        }
        return 0;
    }
}
